x = int(input())
n = int(input())
# path[i]表示第i个拆出数字
path = [0] * n


def dfs(depth):
    # depth:表示当前在第depth层
    # 递归出口
    if depth == n:
        # 判断数字是否递增
        for i in range(1, n):
            if path[i] >= path[i - 1]:
                continue
            else:
                return
        # 判断数字之和是否为x
        if sum(path) != x:
            return
        print(path)
        return

    # 对于每一层，枚举当前拆出的数字
    for i in range(1, x + 1):
        path[depth] = i
        dfs(depth + 1)


dfs(0)
